package com.weidft.dal.inquiry.dao;

import java.util.List;

import com.weidft.dal.inquiry.dataobject.ContractSearch;
import com.weidft.dal.inquiry.dataobject.InquiryDO;
import com.weidft.dal.inquiry.dataobject.InquirySearch;
import com.weidft.dal.inquiry.dataobject.InquirySearchResult;
import com.weidft.dal.inquiry.dataobject.InquirySpecDO;
import com.weidft.web.wd.dto.PaginationDTO;

public interface IInquiryDAO
{
    Integer insertInquiry(InquiryDO inquiry);
    
    Integer updateInquiry(InquiryDO inquiry);
    
    InquiryDO getInquiryById(Integer id);
    
    List<InquiryDO> listInquiry(InquiryDO inquiry, PaginationDTO pagination);
    
    
    
    
    Integer insertInquirySpec(InquirySpecDO inquirySpec);
    
//    List<InquirySearchResult> getInquiryForUserID(InquirySearch si);

    Integer countInquiry(InquirySearch si);

    List<InquirySpecDO> getInquirySpecByInquiryId(Integer id);

    void updateInquirySpec(InquirySpecDO inquirySpecDO);

    void setInquiryStatus(Integer id, String status);

    void setInquirySpecStatusByInquiryId(Integer id, String status);

    List<InquirySearchResult> listInquiry(InquirySearch si);

    InquirySpecDO getInquirySpecById(int id);

    void setInquirySpecStatus(int id, String status);

    int getInquiryUidByInquirySpecID(int id);

	void cancelQuotation(int inquiryId, String status);

	void cancelAudit(int inquiryId, String status);

	void deleteInquiry(int id);

	void deleteInquirySpec(int id);

	void updateInquiryNo(int id, String no);

    void updateInquiryOrder(InquiryDO inquiryDO);

    void updateInquirySpecOrder(InquirySpecDO inquirySpecDO);

    int getmaxid();
    
    void updateInquiry4lowcoststatus(InquiryDO inquiryDO);

    List<InquirySearchResult> listInquiry4Contract(InquirySearch si);
    
    //void updateInquiry4lowcostask(InquiryDO inquiryDO);
    
    //void updateInquiry4lowcostaudit(InquiryDO inquiryDO);

    //List<InquiryDO> listLowcostaudit(float start, float end);

    void updateInquirySpec4lowcostratio(InquirySpecDO inquirySpecDO);

    //List<InquiryDO> listLowcostaudit(ContractSearch cont);

    void updateInquiry2status(InquiryDO inquiry);

    //Integer countLowcostaudit(ContractSearch cont);

    //void contractconfirmation(int id,String status);

    
    //InquiryDO getInquiryContractNo(String cno);

    //InquirySpecDO getInquirySpecByContractNo(String cno, int sn);
    
    Integer countInquiry4Contract(InquirySearch si);

    //void savecontractcancelnum(Integer id, Integer cancelordernumber);

    InquiryDO getInquiryByInquiryNO(String nquiryNO);

    InquirySpecDO getInquirySpecByInquiryIdAndSno(Integer iid, Integer sno);
    
}
